package com.cmwa.scbp.sys.userInfo.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.cmwa.scbp.base.annotation.MybatisDao;
import com.cmwa.scbp.base.mvc.dao.BaseDao;
import com.cmwa.scbp.base.mvc.entity.SearchParam;
import com.cmwa.scbp.sys.userInfo.entity.OrmemberVo;
import com.cmwa.scbp.sys.userInfo.entity.UserInfoVo;

@MybatisDao
public interface UserInfoDao extends BaseDao<UserInfoVo> {
	/**
	 * 查询用户信息
	 * 
	 * @param userInfoVo
	 * @return
	 */
	List<UserInfoVo> searchUserInfoList(UserInfoVo userInfoVo);

	/**
	 * 查询KM用户单表信息
	 * 
	 * @author ex-lix
	 * @param userInfoVo
	 * @return
	 */
	List<UserInfoVo> searchUserInfo(UserInfoVo userInfoVo);

	/**
	 * 获取部门信息
	 * 
	 * @param userInfoVo
	 * @return
	 */
	List<UserInfoVo> searchDepartmentList(UserInfoVo userInfoVo);

	/**
	 * 查询全部部门
	 * 
	 * @return
	 */

	List<UserInfoVo> queryAllDepartmentList();

	/**
	 * 查询某岗位下的用户列表
	 * 
	 * @param orgId
	 * @param stationId
	 * @return
	 */
	List<UserInfoVo> queryEmpListByStationId(@Param("orgId") String orgId, @Param("stationId") String stationId);

	/**
	 * 根据部门ID获取部门领导
	 * 
	 * @param orgId
	 * @return
	 */
	List<UserInfoVo> searchUserLeaderByOrgId(@Param("empId") String empId);

	/**
	 * 查询全部部门(包含删除的，未删除的)
	 * 
	 * @param
	 * @return
	 */
	List<UserInfoVo> queryAllMatchDepartmentList();

	List<UserInfoVo> userListPage(SearchParam sp);

	/**
	 * 新增用户
	 * 
	 * @author ex-hejm
	 * @date 2019年2月19日下午6:32:20
	 * @param user
	 */
	void insertOutUser(UserInfoVo user);

	UserInfoVo getUserInfoLogin(@Param("login") String login);

	void insertOrMember(OrmemberVo ormemberVo);

	void modifyPassword(@Param("empId")String empId, @Param("password")String password);

	void changeEmpStat(@Param("empId")String empId, @Param("stat")String stat);

}
